package com.pe.pgn.clubpgn.dao;

import java.util.List;

import com.pe.pgn.clubpgn.domain.ClpbAlmacen;
import com.pe.pgn.clubpgn.domain.ClpbDocumentoMovArticulo;
import com.pe.pgn.clubpgn.domain.ClpdArticulo;
import com.pe.pgn.clubpgn.domain.ClpmCatalogo;
import com.pe.pgn.clubpgn.domain.ClpmStockAlmacenCatalogo;
import com.pe.pgn.clubpgn.domain.ClprPremioCatalogo;
import com.pe.pgn.clubpgn.domain.beans.BNAsignacionArticuloCatalogoDetalle;

public interface AsignacionArticuloDao extends
GenericDao<ClpbDocumentoMovArticulo, Long> {
	
	
	public void guardarAsignacionArticulo(
			ClpbDocumentoMovArticulo documentoMovArticulo);
	
	public List<ClpbDocumentoMovArticulo> busquedaDocumentoAsignacionPorFiltros(
			String deDocumento, Long coAlmacenOrigen, Long coAlmacenDestino);
	
	public List<ClpbDocumentoMovArticulo> obtenerDocumentoAsignacionArticulos();

	public ClpbDocumentoMovArticulo obtenerDocumentoAsignacionArticulo(Long id);
	
	public ClpdArticulo obtenerArticulo(BNAsignacionArticuloCatalogoDetalle detalle);
	
	public ClpdArticulo obtenerArticulo(String coCodigoArticulo);
	
	public ClprPremioCatalogo obtenerPremio(String coCodigoPremio);
	
	public ClprPremioCatalogo obtenerPremio(String coCodigoPremio,Long idCatalogo);
	
	public ClpbAlmacen obtenerAlmacen(Long idAlmacen);
	
	public ClpmCatalogo obtenerCatalogo(Long idCatalogo);
	
	public ClpmStockAlmacenCatalogo obtenerStockAlmCata(Long idArticulo,Long idAlmacen,Long idCatalogo);
	
	public ClpmStockAlmacenCatalogo obtenerStockAlmCata(Long idArticulo,Long idAlmacen);
}
